package com.vca.common.response;

import com.vca.common.model.order.StoreOrderStatus;
import com.vca.common.model.sf.Routes;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode
@Accessors(chain = true)
@ApiModel(value = "AfterSaleInfoResponse对象" ,description = "售后详情响应对象")
public class AfterSaleInfoResponse implements Serializable {
    private static final long serialVersionUID = -1134941605297995715L;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundPrice;

    @ApiModelProperty(value = "退款明细")
    private String refundDetails;

    @ApiModelProperty(value = "申请理由")
    private String refundReasonWap;

    @ApiModelProperty(value = "补充说明")
    private String refundReasonWapExplain;

    @ApiModelProperty(value = "退款申请时间")
    private Date refundApplicationTime;

    @ApiModelProperty(value = "同意退货时间")
    private Date agreedReturnTime;

    @ApiModelProperty(value = "退货结束时间")
    private Date returnEndTime;

    @ApiModelProperty(value = "上门取件开始时间（范围）")
    private String pickUpStartTimeRange;

    @ApiModelProperty(value = "上门取件结束时间（范围）")
    private String pickUpEndTimeRange;

    @ApiModelProperty(value = "不退款的理由")
    private String refundReason;

    @ApiModelProperty(value = "支付状态 0未支付 1已支付")
    private Boolean paid;

    @ApiModelProperty(value = "订单状态（0：待发货；1：待收货【已预约（未参与）】；2：已收货，待评价【已参与】；3：已完成；）")
    private Integer status;

    @ApiModelProperty(value = "退款状态  0 未退款 1 申请中 2 已退款 3 退款中  4 待退货 5 退货中 6 退款取消")
    private Integer refundStatus;

    @ApiModelProperty(value = "退款编号")
    private String returnOrderNo;

    @ApiModelProperty(value = "收货人姓名")
    private String consigneeName;

    @ApiModelProperty(value = "收货人手机号")
    private String consigneePhone;

    @ApiModelProperty(value = "收货人地址")
    private String consigneeAddress;

    @ApiModelProperty(value = "寄出倒计时")
    private Long deliveryCountdown;

    @ApiModelProperty(value = "退货人姓名")
    private String returnUserName;

    @ApiModelProperty(value = "退货人手机号")
    private String returnUserPhone;

    @ApiModelProperty(value = "退货人地址")
    private String returnUserAddress;

    @ApiModelProperty(value = "取件日期")
    private String pickUpDate;

    @ApiModelProperty(value = "用户选择取件开始时间")
    private String pickUpStartTime;

    @ApiModelProperty(value = "用户选择取件结束时间")
    private String pickUpEndTime;

    @ApiModelProperty(value = "是否已过申请售后时间")
    private Boolean isAfterSalesTime;

    @ApiModelProperty(value = "物流信息")
    private Routes routesList;

    @ApiModelProperty(value = "退货运单号")
    private String waybill;

    @ApiModelProperty(value = "售后历史")
    private List<StoreOrderStatus> storeOrderStatuseList;
}
